﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using DAL;
using System.Data.Linq;
using System.Data.SqlClient;
using Website.Logger;
using UtilityExtensions;
using System.Web.Script.Services;
using System.Web.Services;
using BOL;
using BOL.Cliente;

namespace UILGestion.VentaAdmin.RendicionVenta
{
    public partial class RetencionVentaListForm: System.Web.UI.Page
    {

        [WebMethod(), ScriptMethod()]
        public static string GetCliente(String prefixText, String contextKey)
        {
            var p = (from a in DbUtil.Db.OrdenVentas
                     where (a.Cliente.descripcion).Contains(prefixText)
                      & a.idProyecto == contextKey.ToInt()
                     select new ClienteSearchInfo
                     {
                         idInternal = a.Cliente.idInternal,
                         descripcion = a.Cliente.descripcion,
                         numDocumento = a.Cliente.numDocumento,
                         correo = a.Cliente.email,
                         direccion = a.Cliente.Direccion.descripcion,
                         telefono = a.Cliente.telefono,
                         tipoDocumento = a.Cliente.TipoDocumento.abreviacion,
                         vista = String.Format("{0}:{1} {2}", a.Cliente.TipoDocumento.abreviacion, a.Cliente.numDocumento, a.Cliente.descripcion),
                     }).Distinct().Take(35);





            return Util.Tbl2Str(Util.EntidadToDataTable(p.ToList()));

        }

        protected void Page_Load(object sender, EventArgs e)
        {
            clienteTXT.ChkVal = (string)Request.QueryString["idProyecto"];
            if (!Page.IsPostBack)
            {

                try
                {

                    
                    idProyecto.Value = (string)Request.QueryString["idProyecto"];
                    menuCtrl1.loadMenuVenta(idProyecto.Value.ToInt());
                    FormatForm();


                }
                catch (SqlException sqlex)
                {
                    WebServerSideSqlError.Log(sqlex);
                    ScriptManager.RegisterClientScriptBlock(this, typeof(Page),
                     "uniqueKey" + DateTime.Now, "alert('" + sqlex.Message.Replace("'", "") + "');", true);


                }
                catch (Exception ex)
                {
                    WebServerSideError.Log(ex);
                    ScriptManager.RegisterClientScriptBlock(this, typeof(Page),
                     "uniqueKey" + DateTime.Now, "alert('" + ex.Message.Replace("'", "") + "');", true);

                }


            }
        }

        private void FormatForm()
        {
           
            ShowAllComboBox();
            inicioDateTime.Text = new DateTime(DateTime.Now.Year, 1, 1).ToShortDateString();
            finDateTime.Text = DateTime.Now.ToShortDateString();
            

        }
        protected void ShowAllComboBox()
        {
            

            cuentaDDL.DataValueField="idInternal";
            cuentaDDL.DataTextField = "descripcion";

            ListValueInfo todos= new ListValueInfo();
            todos.descripcion="---------TODOS-------";
            todos.idInternal=0;

            var   lista=new ListValueBL().GetCuentaRecaudadora(idProyecto.Value.ToInt()).ToList();
            lista.Insert(0, todos);
            cuentaDDL.DataSource =lista ;
            cuentaDDL.DataBind();

        }


        protected void button(object sender, EventArgs e)
        {
            try
            {
                if (((Button)sender).ID == BuscarBtn.ID)
                {
                    //proyectoListGrid1.DataBind();
                }
                //if (((Button)sender).ID == nuevaVentaButton.ID)
                //{
                //    Response.Redirect("RendicionVentaOPTEditForm.aspx?idProyecto={0}".Fmt(idProyecto.Value), true);
                //}
            }
            catch (SqlException sqlex)
            {
                WebServerSideSqlError.Log(sqlex);
                ScriptManager.RegisterClientScriptBlock(this, typeof(Page),
                 "uniqueKey" + DateTime.Now, "alert('" + sqlex.Message.Replace("'", "") + "');", true);


            }
            catch (Exception ex)
            {
                WebServerSideError.Log(ex);
                ScriptManager.RegisterClientScriptBlock(this, typeof(Page),
                 "uniqueKey" + DateTime.Now, "alert('" + ex.Message.Replace("'", "") + "');", true);

            }
             
        }
       
    }
}